//
//  TestViewController.swift
//  Pods-TestPrivateLib_Example
//
//  Created by 意一ineyee on 2022/3/30.
//

import UIKit
import SDWebImage

/*
 注意：
 1、私有库里的东西要用public或open修饰一下，以便其它模块能够访问到它们
 2、public修饰的东西，外界能访问到，但是不能继承和重写；open修饰的东西，外界能访问到，而且还能继承和重写
 */
public class TestViewController: UIViewController {
    public override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.purple

        // 当示例项目的Podfile文件里使用了useframeworks!——即使用动态库时，那么私有库里得用如下方法才能正确加载到私有库所在的bundle
        let bundle = Bundle(for: TestViewController.self)
        guard let bundleDict = bundle.infoDictionary else { return }
        guard let bundleName = bundleDict["CFBundleExecutable"] as? String else { return }
        let scale = Int(UIScreen.main.scale)
        guard let imagePath = bundle.path(forResource: "upload_answer@\(scale)x.png", ofType: nil, inDirectory: "\(bundleName).bundle") else { return }
        
        // 当示例项目的Podfile文件里不使用useframeworks!——即使用静态库时，那么私有库里得用如下方法才能正确加载到私有库所在的bundle
//        guard let bundleURL = Bundle.main.url(forResource: "TestPrivateLib", withExtension: "bundle") else { return }
//        guard let bundle = Bundle(url: bundleURL) else { return }
//        let scale = Int(UIScreen.main.scale)
//        guard let imagePath = bundle.path(forResource: "upload_answer@\(scale)x.png", ofType: nil) else { return }
        
        // 如果你切换了示例项目的Podfile文件useframeworks!的使用状态，项目报错的话，可以关掉Xcode，重新cd到示例项目执行pod install，再打开示例项目就可以了
        
        let imageView = UIImageView()
        imageView.backgroundColor = UIColor.yellow
        imageView.frame = CGRect(x: 100, y: 100, width: 100, height: 100)
        // 由于图片资源是在bundle里，所以不能通过UIImage(named:)来加载图片，而是得通过路径来加载，而且图片的路径必须得是全名，2x、3x这些也得通过屏幕倍率动态适配
        imageView.sd_setImage(with: URL(string: "https://picsum.photos/1000"), placeholderImage: UIImage(contentsOfFile: imagePath))
        view.addSubview(imageView)
    }
}
